package com.hopu.oa.service.UserManageService;

import com.hopu.oa.entity.dto.user.manage.UserManage;
import com.hopu.oa.entity.user.AoaPosition;
import com.hopu.oa.entity.user.AoaUser;

import java.util.List;
import java.util.Map;

public interface UserManageService {

    /*
      @Description : 根据当前用户  角色/部门  查询所用员工
      @Date   :  2021/11/15
      @Param  : [roleId, deptId]
      @return : java.util.List<com.hopu.oa.entity.dto.user.manage.UserManage>
     */
    List<UserManage> queryStaffByUserRoleOrDept(Integer roleId, Integer deptId, int index, int size, String name);

    /*
      @Description : 获取总数量
      @Date   :  2021/11/15
      @Param  : [roleId, deptId]
      @return : int
     */
    int queryStaffCount(Integer roleId, Integer deptId, String name);


    /*
      @Description : 根据用户id删除用户
      @Date   :  2021/11/15
      @Param  : [userId]
      @return : boolean
     */
    boolean userManage_deleteUserById(int userId);


    /*
      @Description : 查询部门编号，部门名字
      @Date   :  2021/11/15
      @Param  : []
      @return : java.util.List<java.util.Map<java.lang.String,java.lang.String>>
     */
    List<Map<String, String>> queryDeptIdAndDeptName(Integer roleId, Integer deptId);


    /*
      @Description :查询职位编号，职位名字
      @Date   :  2021/11/15
      @Param  : []
      @return : java.util.List<java.util.Map<java.lang.String,java.lang.String>>
     */
    List<AoaPosition> queryPositionIdAndPositionName(Integer id);


    /*
      @Description : 根据roleid 查询role
      @Date   :  2021/11/15
      @Param  : [roleId]
      @return : java.util.List<java.util.Map<java.lang.String,java.lang.String>>
     */
    List<Map<String, String>> queryRoleByUserId(Integer roleId);

    boolean insertUser(UserManage user);


    /*
      @Description :  查询被修改的用户信息
      @Date   :  2021/11/16
      @Param  : [userid]
      @return : com.hopu.oa.entity.user.AoaUser
     */
    AoaUser queryUpdateUserById(String userid);

    boolean updateUserByUser(UserManage user);
}
